package com.framework.service.admin;

import com.framework.bean.response.CommonResponse;

import java.util.List;
/**
 * @API
 * @uri adminUser
 * @moduleName 用户模块
 * @description 对于用户的系列操作
 * @author "admin"
 * @version 0.1
 */
public interface AdminUserService {

    /**
     * @description 用户登录
     * @requestType post
     * @requestBean BaseRequest
     * @requestExample {"username":"1","password":"2"}
     * @responseExample {"status":200,"data":{"username":"admin","password":"123456"}}
     * @responseBean List<CommonResponse>
     */
    CommonResponse login(String reqJson) throws Exception;

    /**
     * @description 退出登录
     * @requestType post
     * @requestBean BaseRequest
     * @requestExample {"username":"1","password":"2"}
     * @responseExample {"status":200,"data":{"username":"admin","password":"123456"}}
     * @responseBean List<CommonResponse>
     */
    CommonResponse logout(String reqJson) throws Exception;

    /**
     * @description 添加用户
     * @requestType post
     * @requestBean BaseRequest
     * @requestExample {"username":"1","password":"2"}
     * @responseExample {"status":200,"data":{"username":"admin","password":"123456"}}
     * @responseBean List<CommonResponse>
     */
    CommonResponse addUser(String reqJson) throws Exception;

    /**
     * @description 用户列表
     * @requestType post
     * @requestBean BaseRequest
     * @requestExample {"username":"1","password":"2"}
     * @responseExample {"status":200,"data":{"username":"admin","password":"123456"}}
     * @responseBean List<CommonResponse>
     */
    List<CommonResponse> users(String reqJson) throws Exception;

    /**
     * @description 查询用户
     * @requestType post
     * @requestBean BaseRequest
     * @requestExample {"username":"1","password":"2"}
     * @responseExample {"status":200,"data":{"username":"admin","password":"123456"}}
     * @responseBean List<CommonResponse>
     */
    CommonResponse getUserByUuid(String reqJson) throws Exception;

    /**
     * @description 删除用户
     * @requestType post
     * @requestBean BaseRequest
     * @requestExample {"username":"1","password":"2"}
     * @responseExample {"status":200,"data":{"username":"admin","password":"123456"}}
     * @responseBean List<CommonResponse>
     */
    CommonResponse deleteUser(String reqJson) throws Exception;

}
